package com.qm.console.dao.mapper;

import com.qm.console.dao.model.ImMsgDO;
import com.qm.console.dao.model.TableCountDO;
import com.qm.console.pubdef.dto.anchor.ImMsgQueryDTO;
import com.qm.console.pubdef.dto.anchor.ImMsgUpdateDTO;

import com.qm.console.pubdef.dto.user.IllegalRecordQueryDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ImMsgDOMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(ImMsgDO record);

    int insertSelective(ImMsgDO record);

    int updateByPrimaryKeySelective(ImMsgDO record);

    int updateByPrimaryKeyWithBLOBs(ImMsgDO record);

    int updateByPrimaryKey(ImMsgDO record);

    List<TableCountDO> count(ImMsgQueryDTO query);

    int sessionCount(ImMsgQueryDTO query);

    int liveChatCount(ImMsgQueryDTO query);

    List<ImMsgDO> list(ImMsgQueryDTO query);

    List<ImMsgDO> sessionList(ImMsgQueryDTO query);

    List<TableCountDO> reversionRateCount(ImMsgQueryDTO query);

    List<ImMsgDO> reversionRateList(ImMsgQueryDTO query);

    void verify(ImMsgUpdateDTO id);

    void delete(ImMsgUpdateDTO id);

    List<ImMsgDO> getGiftUsers(ImMsgQueryDTO query);

    void updateRate(@Param("t") String tableName,@Param("id") String sceneId, @Param("rate") Float rate);

    List<ImMsgDO> liveChat(ImMsgQueryDTO query);

    List<ImMsgDO> liveChatDetail(ImMsgQueryDTO query);

    int liveChatDetailCount(ImMsgQueryDTO query);

}
